package it.ap.sa.acqua.dao.model;
// Generated 23-ago-2017 17.05.29 by Hibernate Tools 4.3.1.Final

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

/**
 * TPlant generated by hbm2java
 */
@DynamicUpdate
@Cache(region = "it.eng.db.TPlant", usage = CacheConcurrencyStrategy.READ_WRITE)
@Entity
@Table(name = "t_plant", schema = "public")
public class TPlant implements java.io.Serializable {

	private Long id;

	private String scientificName;

	private String originZone;

	private String maxLength;

	private Double phMin;

	private Double phMax;

	private Double khMin;

	private Double khMax;

	private Long idFamily;

	private Double temperatureMin;

	private Double temperatureMax;

	private String origin;

	private Double ghMin;

	private Double ghMax;

	private String lighting;

	private String co2;

	private String description;

	private String growThrate;

	private String careLevel;

	public TPlant() {
	}

	public TPlant(String scientificName, String originZone, String maxLength, Double phMin, Double phMax, Double khMin,
			Double khMax, Long idFamily, Double temperatureMin, Double temperatureMax, String origin, Double ghMin,
			Double ghMax, String lighting, String co2, String description, String growThrate, String careLevel) {
		this.scientificName = scientificName;
		this.originZone = originZone;
		this.maxLength = maxLength;
		this.phMin = phMin;
		this.phMax = phMax;
		this.khMin = khMin;
		this.khMax = khMax;
		this.idFamily = idFamily;
		this.temperatureMin = temperatureMin;
		this.temperatureMax = temperatureMax;
		this.origin = origin;
		this.ghMin = ghMin;
		this.ghMax = ghMax;
		this.lighting = lighting;
		this.co2 = co2;
		this.description = description;
		this.growThrate = growThrate;
		this.careLevel = careLevel;
	}

	@GenericGenerator(name = "generator", strategy = "org.hibernate.id.SequenceGenerator", parameters = @Parameter(name = "sequence", value = "sequence_id"))
	@Id
	@GeneratedValue(generator = "generator")

	@Column(name = "id", unique = true, nullable = false)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "scientific_name")
	public String getScientificName() {
		return this.scientificName;
	}

	public void setScientificName(String scientificName) {
		this.scientificName = scientificName;
	}

	@Column(name = "origin_zone")
	public String getOriginZone() {
		return this.originZone;
	}

	public void setOriginZone(String originZone) {
		this.originZone = originZone;
	}

	@Column(name = "max_length")
	public String getMaxLength() {
		return this.maxLength;
	}

	public void setMaxLength(String maxLength) {
		this.maxLength = maxLength;
	}

	@Column(name = "ph_min", precision = 17, scale = 17)
	public Double getPhMin() {
		return this.phMin;
	}

	public void setPhMin(Double phMin) {
		this.phMin = phMin;
	}

	@Column(name = "ph_max", precision = 17, scale = 17)
	public Double getPhMax() {
		return this.phMax;
	}

	public void setPhMax(Double phMax) {
		this.phMax = phMax;
	}

	@Column(name = "kh_min", precision = 17, scale = 17)
	public Double getKhMin() {
		return this.khMin;
	}

	public void setKhMin(Double khMin) {
		this.khMin = khMin;
	}

	@Column(name = "kh_max", precision = 17, scale = 17)
	public Double getKhMax() {
		return this.khMax;
	}

	public void setKhMax(Double khMax) {
		this.khMax = khMax;
	}

	@Column(name = "id_family")
	public Long getIdFamily() {
		return this.idFamily;
	}

	public void setIdFamily(Long idFamily) {
		this.idFamily = idFamily;
	}

	@Column(name = "temperature_min", precision = 17, scale = 17)
	public Double getTemperatureMin() {
		return this.temperatureMin;
	}

	public void setTemperatureMin(Double temperatureMin) {
		this.temperatureMin = temperatureMin;
	}

	@Column(name = "temperature_max", precision = 17, scale = 17)
	public Double getTemperatureMax() {
		return this.temperatureMax;
	}

	public void setTemperatureMax(Double temperatureMax) {
		this.temperatureMax = temperatureMax;
	}

	@Column(name = "origin")
	public String getOrigin() {
		return this.origin;
	}

	public void setOrigin(String origin) {
		this.origin = origin;
	}

	@Column(name = "gh_min", precision = 17, scale = 17)
	public Double getGhMin() {
		return this.ghMin;
	}

	public void setGhMin(Double ghMin) {
		this.ghMin = ghMin;
	}

	@Column(name = "gh_max", precision = 17, scale = 17)
	public Double getGhMax() {
		return this.ghMax;
	}

	public void setGhMax(Double ghMax) {
		this.ghMax = ghMax;
	}

	@Column(name = "lighting")
	public String getLighting() {
		return this.lighting;
	}

	public void setLighting(String lighting) {
		this.lighting = lighting;
	}

	@Column(name = "co2")
	public String getCo2() {
		return this.co2;
	}

	public void setCo2(String co2) {
		this.co2 = co2;
	}

	@Column(name = "description")
	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	@Column(name = "grow_thrate")
	public String getGrowThrate() {
		return this.growThrate;
	}

	public void setGrowThrate(String growThrate) {
		this.growThrate = growThrate;
	}

	@Column(name = "care_level")
	public String getCareLevel() {
		return this.careLevel;
	}

	public void setCareLevel(String careLevel) {
		this.careLevel = careLevel;
	}

	/**
	 * toString
	 * @return String
	 */
	public String toString() {
		StringBuffer buffer = new StringBuffer();

		buffer.append(getClass().getName()).append("@").append(Integer.toHexString(hashCode())).append(" [");
		buffer.append("id").append("='").append(getId()).append("' ");
		buffer.append("scientificName").append("='").append(getScientificName()).append("' ");
		buffer.append("originZone").append("='").append(getOriginZone()).append("' ");
		buffer.append("maxLength").append("='").append(getMaxLength()).append("' ");
		buffer.append("phMin").append("='").append(getPhMin()).append("' ");
		buffer.append("phMax").append("='").append(getPhMax()).append("' ");
		buffer.append("khMin").append("='").append(getKhMin()).append("' ");
		buffer.append("khMax").append("='").append(getKhMax()).append("' ");
		buffer.append("idFamily").append("='").append(getIdFamily()).append("' ");
		buffer.append("temperatureMin").append("='").append(getTemperatureMin()).append("' ");
		buffer.append("temperatureMax").append("='").append(getTemperatureMax()).append("' ");
		buffer.append("origin").append("='").append(getOrigin()).append("' ");
		buffer.append("ghMin").append("='").append(getGhMin()).append("' ");
		buffer.append("ghMax").append("='").append(getGhMax()).append("' ");
		buffer.append("lighting").append("='").append(getLighting()).append("' ");
		buffer.append("co2").append("='").append(getCo2()).append("' ");
		buffer.append("description").append("='").append(getDescription()).append("' ");
		buffer.append("growThrate").append("='").append(getGrowThrate()).append("' ");
		buffer.append("careLevel").append("='").append(getCareLevel()).append("' ");
		buffer.append("]");

		return buffer.toString();
	}

}
